#pragma once


#include "CommonStd.h"


#if ( NORMAL_MODE )

class Tape
{
	std::string m_Data;
	size_t m_TotalLength;


public:
	Tape( int* x, int* y, std::string op );
	~Tape( void );	
	
	std::string& Data( void ) { return m_Data; }
	void Show( State::Enum current_state, relative_type current_head, relative_type current_step );	


private :
	int FindFirst( int* src );
	void Push( int val );
	void Make( int* x, int* y, std::string op );
};

#else

class Tape
{
	std::string m_Data;


public:
	Tape( std::string x, std::string y, std::string op );
	~Tape( void );	
	
	std::string& Data( void ) { return m_Data; }
	void Show( State::Enum current_state, relative_type current_head, relative_type current_step );	
};

#endif